home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 September / PCWorld_2002-09_cd.bin / Software / Vyzkuste / httrack / httrack-3.20RC4.exe / {app} / src / Makefile.in < prev    next >
Makefile  |  2002-05-26  |  15KB  |  416 lines

  1. # HTTrack Website Copier, Offline Browser for Windows and Unix
  2. # Copyright (C) Xavier Roche and other contributors
  3. #
  4. # This program is free software; you can redistribute it and/or
  5. # modify it under the terms of the GNU General Public License
  6. # as published by the Free Software Foundation; either version 2
  7. # of the License, or any later version.
  8. #
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. # GNU General Public License for more details.
  13. #
  14. # Version: 1.3 (09/2001)
  15. # Usage: just type 'make'
  16.  
  17. # Generated by configure
  18. AUTONAME  = 
  19. #__AUTONAME__
  20.  
  21.  
  22. ### Makefile commands
  23. SHELL     = /bin/sh
  24. MAIN      =
  25. CC        = gcc 
  26. CFLAGS    = __CFLAGS__
  27. # threads
  28. LFLAGS    = __LFLAGS__ __LFLAGS2__ __LFLAGS3__
  29.  
  30.  
  31. BINARIES  = htscore.o htsback.o htscache.o\
  32.     htscatchurl.o htsfilters.o htsftp.o htshash.o\
  33.     htshelp.o htsjava.o htslib.o htscoremain.o\
  34.     htsname.o htsrobots.o htstools.o htswizard.o\
  35.     htsalias.o htsthread.o htsindex.o\
  36.     htsbauth.o htsmd5.o\
  37.     htswrap.o md5.o htszlib.o\
  38.     htsnostatic.o \
  39.     httrack.o
  40.  
  41. SOBINARIES = htscore.o htsback.o htscache.o\
  42.     htscatchurl.o htsfilters.o htsftp.o htshash.o\
  43.     htshelp.o htsjava.o htslib.o htscoremain.o\
  44.     htsname.o htsrobots.o htstools.o htswizard.o\
  45.     htsalias.o htsthread.o htsindex.o\
  46.     htsbauth.o htsmd5.o htszlib.o\
  47.     htsnostatic.o \
  48.     htswrap.o md5.o
  49.  
  50. MAINBIN = httrack.c
  51.  
  52. BOUTPUT     = httrack
  53. BOUTPUTSO   = libhttrack.so
  54. DOCS      = ../HelpHtml ../httrack ../httrack-doc.html ../COPYING ../INSTALL ../README ../*.txt
  55. HTSSYSTEM = htssystem.h
  56. BINPATH   = __BINPATH__
  57. ETCPATH   = __ETCPATH__
  58. LIBPATH   = __LIBPATH__
  59. PREFIX    = __PREFIX__
  60.  
  61. ## Defines for "library" (program compiled with HTTrack)
  62. BINARIES_LIB = example.o httracklib.o\
  63.     src/htscore.o src/htsback.o src/htscache.o\
  64.     src/htscatchurl.o src/htsfilters.o src/htsftp.o src/htshash.o\
  65.     src/htshelp.o src/htsjava.o src/htslib.o src/htscoremain.o\
  66.     src/htsname.o src/htsrobots.o src/htstools.o src/htswizard.o\
  67.     src/htsalias.o src/htsthread.o src/htsindex.o\
  68.     src/htsbauth.o src/htsmd5.o htszlib.o\
  69.     src/htsshow.o src/htswrap.o\
  70.     src/htsnostatic.o \
  71.     src/md5.o
  72. BOUTPUT_LIB = example
  73. HTSSYSTEM_LIB = src/htssystem.h
  74.  
  75. # in_addr_t problems :
  76. # In case of problems during compiling,
  77. # make htss
  78. # edit htssystem.h and add the following line:
  79. # #define HTS_DO_NOT_REDEFINE_in_addr_t
  80. # make manual
  81.  
  82.  
  83. # Keywords for build types (example: make linux)
  84. MAKE_LINUX   = linux
  85. MAKE_NETBSD  = netbsd
  86. MAKE_OPENBSD = openbsd
  87. MAKE_SOLARIS = solaris
  88. MAKE_AIX     = aix
  89. MAKE_STD     = standard
  90. MAKE_STD2    = standard2
  91. MAKE_STD3    = standard3
  92. MAKE_STD4    = standard4
  93. ###
  94. MAKE_LIB     = build_httracklib
  95. ###
  96. MAKE_AUTO    = auto 
  97. ###
  98.  
  99. # First, detect OS Type
  100. # If your make does not recognize this, change it!
  101. SHORTUNAME = $(shell uname)
  102. FULLUNAME = $(shell uname -a)
  103.  
  104. ### Targets:
  105.  
  106. # Default target, attempt to use uname if necessary
  107. # if uname is empty, display info message
  108. all :
  109.     @if test -n "$(AUTONAME)"; then\
  110.         $(MAKE) $(AUTONAME);\
  111.     elif test -n "$(SHORTUNAME)"; then\
  112.         $(MAKE) $(SHORTUNAME);\
  113.     else\
  114.         $(MAKE) help;\
  115.     fi
  116.  
  117. # If we can not detect the OS Type, show a message info
  118. help :
  119.     @clear
  120.     @echo ""
  121.     @echo "Welcome to HTTrack Website Copier install!"
  122.     @echo "-----------------------------------------"
  123.     @echo ""
  124.     @echo "1. To make HTTrack, just type in:"
  125.     @echo "    make $(MAKE_LINUX)"
  126.     @echo "  or"
  127.     @echo "    make $(MAKE_NETBSD)"
  128.     @echo "  or"
  129.     @echo "    make $(MAKE_OPENBSD)"
  130.     @echo "  or"
  131.     @echo "    make $(MAKE_SOLARIS)"
  132.     @echo "  or"
  133.     @echo "    make $(MAKE_AIX)"
  134.     @echo "  or"
  135.     @echo "    make $(MAKE_STD)"
  136.     @echo "  or (problems with in_addr_t)"
  137.     @echo "    make $(MAKE_STD2)"
  138.     @echo "  or (problems with 64-bit)"
  139.     @echo "    make $(MAKE_STD3)"
  140.     @echo "  or (problems with both in_addr_t and 64-bit)"
  141.     @echo "    make $(MAKE_STD4)"
  142.     @echo ""
  143.     @echo "According to your OS type"
  144.     @echo "(example: type in 'make $(MAKE_LINUX)' if you compile HTTrack with linux)"
  145.     @echo 
  146.     @echo "Or, if it does not work, you can try "
  147.     @echo "  make htss"
  148.     @echo "  edit htssystem.h (check OS type), and add the following line:"
  149.     @echo "    #define HTS_DO_NOT_REDEFINE_in_addr_t"
  150.     @echo "  make manual"
  151.     @echo 
  152.     @echo "2. Then, type in 'make install' to copy httrack to $(BINPATH)"
  153.     @echo "   or just use ./httrack to launch the program"
  154.     @echo ""
  155.     @echo "3. Build problems, type in:"
  156.     @echo "   make moreinfo"
  157.     @echo ""
  158.     @echo "Have fun with HTTrack Website Copier!"
  159.     @echo ""
  160. info : help
  161.  
  162. # Troubleshooter
  163. moreinfo :
  164.     @echo "Known problems:"
  165.     @echo ""
  166.     @echo "\`in_addr_t' undeclared (first use this function)"
  167.     @echo "see in_addr_t problems in Makefile"
  168.     @echo ""
  169.  
  170. ###
  171.  
  172. ## Build Targets (this is the name given by 'uname')
  173. Linux   : $(MAKE_LINUX)
  174. SunOS   : $(MAKE_SOLARIS)
  175. AIX     : $(MAKE_AIX)
  176. NetBSD  : $(MAKE_NETBSD)
  177. OpenBSD : $(MAKE_OPENBSD)
  178.  
  179. ### Build Targets (standard types)
  180. default           : firstinfo htssystem htssystem_default build_default strip clean lastinfo
  181. $(MAKE_LINUX)     : firstinfo htssystem htssystem_linux   build_default strip clean lastinfo
  182. $(MAKE_SOLARIS)   : firstinfo htssystem htssystem_solaris build_solaris strip clean lastinfo
  183. $(MAKE_AIX)       : firstinfo htssystem htssystem_aix     build_default strip clean lastinfo
  184. $(MAKE_NETBSD)    : firstinfo htssystem htssystem_netbsd  build_default strip clean lastinfo
  185. $(MAKE_OPENBSD)   : firstinfo htssystem htssystem_openbsd build_nopthread strip clean lastinfo
  186. $(MAKE_STD)       : firstinfo htssystem htssystem_default build_default strip clean lastinfo
  187. $(MAKE_STD2)      : firstinfo htssystem htssystem_default2 build_default strip clean lastinfo
  188. $(MAKE_STD3)      : firstinfo htssystem htssystem_default3 build_default strip clean lastinfo
  189. $(MAKE_STD4)      : firstinfo htssystem htssystem_default4 build_default strip clean lastinfo
  190. ### Defines for "library" (program compiled with HTTrack)
  191. $(MAKE_LIB)       : build_lib strip_lib clean_lib lastinfo
  192. ###
  193. $(MAKE_AUTO)      : __MAKEAUTO__
  194. ###
  195.  
  196. ## Defines for OSes
  197. lib_default   : htssystem htssystem_default addhtssystem_lib info_lib
  198. lib_linux     : htssystem htssystem_linux   addhtssystem_lib info_lib
  199. lib_solaris   : htssystem htssystem_solaris addhtssystem_lib info_lib
  200. lib_aix       : htssystem htssystem_aix     addhtssystem_lib info_lib
  201. lib_netbsd    : htssystem htssystem_netbsd  addhtssystem_lib info_lib
  202. lib_openbsd   : htssystem htssystem_openbsd addhtssystem_lib info_lib
  203. lib_std       : htssystem htssystem_default addhtssystem_lib info_lib
  204.  
  205.  
  206. # manual build
  207. htss             : htssystem htssystem_default
  208. manual           : build_default strip clean lastinfo
  209.  
  210. # Creates htssystem.h file
  211. htssystem :
  212.     @echo "/* HTTrack, Offline Browser for Windows and Unix */"    > $(HTSSYSTEM)
  213.     @echo ""                                                      >> $(HTSSYSTEM)
  214.     @echo "/* HTTrack system definition */"                       >> $(HTSSYSTEM)
  215.     @echo "/* This should be the only file you have to change */" >> $(HTSSYSTEM)
  216.     @echo ""                                                      >> $(HTSSYSTEM)
  217.     @echo "/* Solaris: 0 / Windows: 1 / AIX: 2 / Linux: 3 */"     >> $(HTSSYSTEM)
  218.     @echo ""                                                      >> $(HTSSYSTEM)
  219.     @echo ""                                                      >> $(HTSSYSTEM)
  220.     @echo "/* Fix plateform number to 0 (SunOS) */"               >> $(HTSSYSTEM)
  221.     @echo "/* If it doesn't compile, try another one */"          >> $(HTSSYSTEM)
  222.  
  223. htssystem_solaris :
  224.     @echo "#define HTS_PLATFORM 0"                                >> $(HTSSYSTEM)
  225.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  226.     @echo "#define HTS_LITTLE_ENDIAN"                             >> $(HTSSYSTEM)
  227.     @echo ""                                                      >> $(HTSSYSTEM)
  228.  
  229. htssystem_aix :
  230.     @echo "#define HTS_PLATFORM 2"                                >> $(HTSSYSTEM)
  231.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  232.     @echo "#define HTS_LITTLE_ENDIAN"                             >> $(HTSSYSTEM)
  233.     @echo ""                                                      >> $(HTSSYSTEM)
  234.  
  235. htssystem_linux :
  236.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  237.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  238.     @echo ""                                                      >> $(HTSSYSTEM)
  239.  
  240. htssystem_netbsd:
  241.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  242.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  243.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  244.     @echo ""                                                      >> $(HTSSYSTEM)
  245.  
  246. htssystem_openbsd:
  247.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  248.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  249.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  250.     @echo "#define HTS_DO_NOT_USE_PTHREAD"                        >> $(HTSSYSTEM)
  251.     @echo "#define HTS_DO_NOT_USE_UID"                            >> $(HTSSYSTEM)
  252.     @echo ""                                                      >> $(HTSSYSTEM)
  253.  
  254. htssystem_nopthread:
  255.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  256.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  257.     @echo "#define HTS_DO_NOT_USE_PTHREAD"                        >> $(HTSSYSTEM)
  258.     @echo ""                                                      >> $(HTSSYSTEM)
  259.  
  260. htssystem_default :
  261.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  262.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  263.     @echo ""                                                      >> $(HTSSYSTEM)
  264.  
  265. htssystem_default2 :
  266.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  267.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  268.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  269.     @echo ""                                                      >> $(HTSSYSTEM)
  270.  
  271. htssystem_default3 :
  272.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  273.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  274.     @echo "#define HTS_NO_64_BIT"                                 >> $(HTSSYSTEM)
  275.     @echo ""                                                      >> $(HTSSYSTEM)
  276.  
  277. htssystem_default4 :
  278.     @echo "#define HTS_PLATFORM 3"                                >> $(HTSSYSTEM)
  279.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""            >> $(HTSSYSTEM)
  280.     @echo "#define HTS_DO_NOT_REDEFINE_in_addr_t"                 >> $(HTSSYSTEM)
  281.     @echo "#define HTS_NO_64_BIT"                                 >> $(HTSSYSTEM)
  282.     @echo ""                                                      >> $(HTSSYSTEM)
  283.  
  284. # Generated by configure
  285. htssystem_auto :
  286.     @echo "#define HTS_PLATFORM __PLATFORM__"                      >> $(HTSSYSTEM)
  287.     @echo "#define HTS_PLATFORM_NAME \"$(FULLUNAME)\""             >> $(HTSSYSTEM)
  288.     @echo "#define __DEFINEUID__"                                  >> $(HTSSYSTEM)
  289.     @echo "#define __DEFINEINA__"                                  >> $(HTSSYSTEM)
  290.     @echo "#define __DEFINEPTH__"                                  >> $(HTSSYSTEM)
  291.     @echo "#define __DEFINE64B__"                                  >> $(HTSSYSTEM)
  292.     @echo "#define __DEFINEFTI__"                                  >> $(HTSSYSTEM)
  293.     @echo "#define HTS_PREFIX \"__DEFINEPRE__\""                   >> $(HTSSYSTEM)
  294.     @echo "#define HTS_BINPATH \"__BINPATH__\""                    >> $(HTSSYSTEM)
  295.     @echo "#define HTS_ETCPATH \"__ETCPATH__\""                    >> $(HTSSYSTEM)
  296.     @echo "#define HTS_LIBPATH \"__LIBPATH__\""                    >> $(HTSSYSTEM)
  297.     @echo "#define HTS_USEZLIB __ZLIB__"                           >> $(HTSSYSTEM)
  298.     @echo "#define HTS_ALIGN __PTRALIGN__"                         >> $(HTSSYSTEM)
  299.     @echo "#define HTS_INET6 __INET6__"                            >> $(HTSSYSTEM)
  300.     @echo "#define HTS_USEOPENSSL __SSL__"                         >> $(HTSSYSTEM)
  301.  
  302. ## Defines for "library" (program compiled with HTTrack)
  303. addhtssystem_lib :
  304.     @echo "/* Extended functions */"                              >> $(HTSSYSTEM)
  305.     @echo "#define HTS_ANALYSTE 2"                                >> $(HTSSYSTEM)
  306.     @echo ""                                                      >> $(HTSSYSTEM)
  307.  
  308. # Info message before build
  309. firstinfo :
  310.     @echo "Building all, please wait"
  311.     @echo "In case of problems, type in:"
  312.     @echo "make help"
  313.     @echo ""
  314.     @echo "OS TYPE:   $(SHORTUNAME)"
  315.     @echo "Make mode: $(MAKECMDGOALS)"
  316.     @echo
  317.  
  318. ##
  319. info_lib : 
  320.     @echo "Please copy htssystem.h to src/htssystem.h by typing:"
  321.     @echo "cp htssystem.h src/htssystem.h"
  322.  
  323. ### Targets for compiling
  324. build_solaris : $(BINARIES)
  325.     $(CC) $(CFLAGS) $(BINARIES) -o $(BOUTPUT) $(LFLAGS) -lnsl -lsocket
  326.     chmod a+rx $(BOUTPUT)
  327.  
  328. build_nopthread: $(BINARIES)
  329.     $(CC) $(NOPCFLAGS) $(BINARIES) -o $(BOUTPUT) $(NOPLFLAGS)
  330.     chmod a+rx $(BOUTPUT)
  331.  
  332. build_default : $(BINARIES)
  333.     $(CC) $(CFLAGS) $(BINARIES) -o $(BOUTPUT) $(LFLAGS)
  334.     chmod a+rx $(BOUTPUT)
  335.  
  336. ## Defines for "library" (program compiled with HTTrack)
  337. build_lib : $(BINARIES_LIB)
  338.     $(CC) $(CFLAGS) $(BINARIES_LIB) -o $(BOUTPUT_LIB) $(LFLAGS)
  339.     chmod a+rx $(BOUTPUT_LIB)
  340.  
  341. ## Auto
  342. build_auto : build_bin__DYNAMIC__
  343.  
  344. build_bin : $(BINARIES)
  345.     $(CC) $(CFLAGS) $(BINARIES) -o $(BOUTPUT) $(LFLAGS)
  346.     chmod a+rx $(BOUTPUT)
  347.  
  348. build_binso : $(SOBINARIES)
  349.     $(CC) $(CFLAGS) -shared -Wl,-x,-soname,$(BOUTPUTSO) -o $(BOUTPUTSO) $(SOBINARIES) -lc $(LFLAGS)
  350.     $(CC) -L. -lhttrack $(MAINBIN) -o $(BOUTPUT)
  351.     chmod a+rx $(BOUTPUT)
  352.  
  353. ##
  354. # Strip file so that is can be shorter
  355. strip :
  356.     strip $(BOUTPUT)
  357.  
  358. strip_lib :
  359.     strip --strip-unneeded $(BOUTPUT_LIB)
  360.  
  361. # Cleaning up..
  362. clean :
  363.     rm -f $(BINARIES)
  364.  
  365. ## Defines for "library" (program compiled with HTTrack)
  366. clean_lib :
  367.     rm -f $(BINARIES_LIB)
  368.  
  369. # Bye bye
  370. lastinfo :
  371.     @echo "Build successful"
  372.  
  373. # Installing httrack into the correct folder
  374. install : __INSTALL__
  375. uninstall : remove
  376. remove : __UNINSTALL__
  377.  
  378. # Install docs
  379. docinstall :
  380.     mkdir -p "$(PREFIX)/doc/httrack" && chmod a+rx "$(PREFIX)/doc/httrack"
  381.     cp -fR $(DOCS) "$(PREFIX)/doc/httrack/"
  382.  
  383. # Uninstall docs
  384. docremove :
  385.     rm -rf "$(PREFIX)/doc/httrack"
  386.  
  387. # Install binaries and conf files
  388. bininstall :
  389.     @echo "Copying $(BOUTPUT) to $(BINPATH).."
  390.     test ! -d "$(BINPATH)" && (mkdir -p "$(BINPATH)" && chmod a+rx "$(BINPATH)") || true
  391.     cp -f $(BOUTPUT) $(BINPATH)
  392.     chmod a+rx $(BINPATH)/$(BOUTPUT)
  393.  
  394. libremove :
  395.     rm -f "$(LIBPATH)/$(BOUTPUTSO)"
  396.  
  397. libinstall :
  398.     @echo "Copying $(BOUTPUTSO) to $(LIBPATH)/.."
  399.     test ! -d  "$(LIBPATH)" && (mkdir -p "$(LIBPATH)" && chmod a+rx "$(LIBPATH)") || true
  400.     cp -f $(BOUTPUTSO) $(LIBPATH)/
  401.     chmod a+rx $(LIBPATH)/$(BOUTPUTSO)
  402.     ln -sf "$(BOUTPUTSO)" "$(PREFIX)/lib/$(BOUTPUTSO).1"
  403.  
  404.  
  405. # Uninstall binaries
  406. binremove :
  407.     rm -f $(BINPATH)/$(BOUTPUT)
  408.     rm -f $(ETCPATH)/httrack.conf
  409.  
  410. # Configure program
  411. config :
  412.     @./postinst-config
  413.  
  414. ###
  415.  
  416.